From f3c371996f7b78ee6a97148e0803e1c5b420d17d Mon Sep 17 00:00:00 2001 From: Paulus Schoutsen Date: Sat, 7 Mar 2020 21:47:53 -0800 Subject: [PATCH] Add media player card gallery (#5101) --- build-scripts/gulp/gallery.js | 2 +- gallery/public/images/album_cover.jpg | Bin 0 -> 26732 bytes gallery/src/data/media_players.ts | 62 +++++++++++ .../src/demos/demo-hui-media-player-card.ts | 102 ++++++++++++++++++ .../src/demos/demo-hui-media-player-rows.ts | 55 ++-------- 5 files changed, 172 insertions(+), 49 deletions(-) create mode 100644 gallery/public/images/album_cover.jpg create mode 100644 gallery/src/data/media_players.ts create mode 100644 gallery/src/demos/demo-hui-media-player-card.ts diff --git a/build-scripts/gulp/gallery.js b/build-scripts/gulp/gallery.js index a46c6c1939..9ad97215b8 100644 --- a/build-scripts/gulp/gallery.js +++ b/build-scripts/gulp/gallery.js @@ -16,7 +16,7 @@ gulp.task( process.env.NODE_ENV = "development"; }, "clean-gallery", - gulp.parallel("gen-icons-app", "gen-icons-app", "build-translations"), + gulp.parallel("gen-icons-app", "gen-icons-mdi", "build-translations"), "copy-static-gallery", "gen-index-gallery-dev", "webpack-dev-server-gallery" diff --git a/gallery/public/images/album_cover.jpg b/gallery/public/images/album_cover.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cb0eb974621c71f26af4b17ceb09a65484c7865c GIT binary patch literal 26732 zcmbTdbyQnT^fnrbyB8-EDekT*rFbC)io08Z2KOMv9SXE)TO0}$iWVyl#ogT{K+pgI zzP!KhuJ5jO|GM{1R?b>UPG-+DGkfOQ&+PLw|FjMuQBzV?0-&J*0BEQe;Ash<0Ki1Y zz`#JqL|rg3F|n`-aIjH@7#|;(fRvbwjFgy^l>9k86*&bhB`GQO3u;;h1|SefPQ}d1 z%*aa52xR=P5;W9bv9Yj;aBzqiDM%?8|38z?i}#$0nueC`B|8Tvmx!pCxP+vX!W%^;WffI5o%gzW z`UZwZ);6|w_709t9-dy_KE8hb;h!QRqoQMCQ`0`DXJmf)n)Rcgu&B7Cw5+`LcU^r$ zV^i~=uI`@RzW#y1f0I+wGqZE^3yT|@TiZLkd;156@binytLq!Y?cIO4&;aQF8y4#N zzk&TfaFL>LJwpu(2KIlr(4P6A-sq$lm@fpe$mF%KEg|I0LZLVmuT#F)bmFoIYoAeC zxliCdXBF9CgZ~HZe~|sZ0~YrG3)%kx_J8AA1Q4L3p#~3~6aWI81%R(!*VjF8IS+C2 zYwYIRJJbIF3Y{NVV*bm(6P{it*Fxy^;lr#}SC57T8n&3?LwYcHLq0;LD*f$p&$8da z`@0_a0#rZ9a6bQDhM)arrfSuY5BhN++q(}yfGmPj7=65nlT0O&R!I;{yarLh^QFEA;gCzea49 zk?3>Z;2F8!#x@BVc|q?(ZKmqOs25jMUT#v(D}_&e;AnRKb6#(y5hlJ9RzPcKO(D>9zL| z7+*ZTgAH742eK^bH?lkdUKiX`v9KGSA^P7Q{z6&zq-{Lj*p&9W^z~e$bfE27tlR&^ zR+<(~yxPo~X#Gx})j!^=O!Nt`&}}%u%XoLwA53{qX4-9c!Ji$y`!_XIF!$))Aoa&6pb-Fpl>vq#x1dhE)Vpe>0S=$Dw~eF7lLVPnTdn_5Ab zX})V+PXNaz?X&LMkLMhHhDt)O29QVnJTmO1hr!}<0nqD$mwd)aAR?m8ZL*<=Qh6V;K3mZ0Q16J7Ar&^q$b4PLda^Kl%z$|ku8dlIFZrl<1t@X|Tep2EgYU0h;ih>NCB}R$ z-%Jh7mQ~&OzN0sXjq1|i^ADw@ohJno>euJpLCpmv`9Vk99(&!5tk41V*GJ<{*T^Tp z)^zx*Y@l4lH}*Nb#wWmLMRoSI4P0P$V*(s6!^&?Hx@QnK40KACI~l&nx!f=Q-th3H zRow#$wRPKqVyW^b%1!@pjESpWMUykJ*pn!N*#_s&4NJCZn##z!gNG`7{o1o;P!&@? zitL-NxjphV)B_i$%zibF^V!4ABUcH%AMxo7nGFZlxN2UzhljnQ_m7=N z%>Z3Eb)qV90+J(+BJXW{;4KflmOOs|BqNt?|sG3gagL z+;a_~?COzH?hAbaVCyZQW(%U~-`2GOoK?VNj6V^{LZJ6kdsms9t4E25I{mLqV*8Ks z{(C{+97N()cYp6Hwefrro;=_M8fBy5mUH2!zS;E@(=k{>} z=v5Uauidr8o2cj!_`+Uz$k_W?CmJWIOu5&z8hu@5SZE}j5Mvyo-@GKdmQxMo6uM&-Vcfiun%z<##CUQC@i z{J!{ujbI;knM76c<3Bl0Oj$GUM{)B*ri`u&W8t~)?=Hj?%LSj(OH8GaC&2Pnl96m(HOc}0XH_05i4+B> z8pCiBztE0UKLMx|e64lpV=lvlmkjDb_p)C4Pk`E+n7aERI_WVgUyYY-*+UWd|8S)Z ze~0BHWzzdF7lUdWV;2LWS>SFFfkR$|Ld11sAz@0vnnc)YvULsr<7xj*4%$_Qj{O@W zp?sYRV<_BnA1PR_%Ft~*QnZ{M;M1JKdnLgNq2;u9DPNFy2S%?qKscU}_n3jswvPUo zMwut zX#huiTZ}W&%Ag0Q73qq8%PcuGCPeD6xMwEtX6I-gR>kNR0Y#%(1HmOC8ifIX_g~z> z05mi4bw$*EZ7e~vK-lf?+30`N&Rqju0B`W^_L)93EeJl=4;qS10>7@k*1dFFBzlv= zz_{zJr$q3x5?z2P>7Ak$JU-R!A)lndno5j6abctblx`I~B6jC8)(MKKai)!Py!$Xf zc6cswVML9L9KvMyNUU}k%w9OVDvS^>I+!H|Z)68l5Ff*ggKfU-U`@7KxZtfwj=83X z*XIx8iiXnXKbMnIX1zYk&c}=6z^E<9Wpfs+SMtwyDl5Hp-so7EZjB*hLwZQJVB%HK ze^6x)0gOP*>kIRUp8%gWPw#n5o&a5Hu5Z9fYeVw{$SyitrjF_Q zfUuq)@nSmP)PV(20H1JmwTP*z!{Pl-Hc+uE*)X7$Hn>&fsqYg)%9~2%iA!gFLpl88c z1yXLA{T{>R2ClY@?^uZn?PE_`Wi4N3!=pBcGGB@tBJ{3V`ft$8_qlgE;>fl(iDOBc zo&d?|v-%RiBf5H#7Tn)QKoS|q;}jHcJI^MT4os+auF4Ye4#zST%n;#A^;bM^>^gmt z8KakT=JdtKlA4QfVu)GVy?O8Y+HocC698M<*np3jbvqhWCk}o47zpHi(?VHu&b|xsW!L`lccxUt(DQD z`UJdwe`W~R7+Dqxy`w0*e%$CrQ9U#qZ z;}M>4L7y~$7g6YmJ|4*605r)S$cedlw$0LMBJ>a0XUKDraX z;@@Py)pz{4mkUN20Pg4b{<8fK(BKxkQ%@0CZYDH3=x`_<*e+P$)YF%d{?s4QnBkjK8g2k9UDCy*@HBH9(2S?v?J%BQs^dR6FZ3`^i$LnAWLfr=y)R%LTUy2*z9778M?7RVtQG z>06-MXr6h>`th|UX#HK5>Pk@O^wHG_rT#`^cYymK&ZMXd(Wa6Q9*fGq6V|+NnkuU+ z6lo!7^-iuGc9mmgPyP2dlF-La9$TW1>!y!JsbbwcUg}xy&<`WWRqg9{$;y)b+s=c5 ztn&{sfx6RZo6kE(rRa?G{>WQTw#!7AhdlwPS@l&dn`a9$*p)C1--?;y91Vy(@I6OS zfD%L?K^zM)#;phC$N3bN6a#u6jM%MqjQ$PICxGpPKak$U%oyQ|2&Zy4+8)5-9oWZ3 zml(x@nD`uf!t)o2&|Qz1iz@fyD>5)4eYkrimEw(8%S8RUc@7}EwRmASPkVU!woRBv zxF1={-7M%>Itd14B+p5B4tgLQ@di@x{=5V&oc1LnY%}|w|7naqWuLJRIX30ZayeE@ z`f}_U@9&Y;>kj&LSa2jKX84js>Fzc6fcy(Ab6$i^epi;+>DbjXi8DBVA!RsP{;t0F~hp%y4irg4o)mo2v|QBz2@if%I^w>aVqf1^68RfMW% zl~zL!SHFj=_nG>2#s>`ggx(!9f0urv(T8S>Gk-*t`semmIRS2mG~;GVyoF7dpI@kX zjH^(N%WeLiu{b}07ueH50J0xyjQ^dh-8V6~ok&6d1X#gW+ zpKsQ7*jGRis=>H{lI)%dKYWWCJ#xPj^aQ8!+WT@noCb2=D>}WsZyizE<{Yz)RRn&c z$k><8Vw7!!lKOUELuYP%+9Ekk|7`#K_}1?U&|cAi;4*#>U+WE09fgBp67nEOf!8nk z*Pqu06ED4NSqFz1O=qh))U2?^2Vm4^k>35t@2Wwumj}!Bv&M+i6O))gtu2`5rqUzA z*|-)2Kl^-Y^F`Lx@AUWqe;z@;<%!KT?wD33W${y-+lVl0rG88KE0n-lMLIRnCov?Vryi{cQalu}(?Kwmjv9q_AaMA?}xCe1;Z3zkm8Zk(GnZot6H_baMa-Dk^ zUr2%CY?|P5x!3pyWS#$1vBo%#JJ*v1Qw~&1ktzsDKjH|Mrinna!3}+VR8^a1TaLQ# z#4j$0)4|htNse@J=r0 z{^~SWXpy)o;`>=GCfwiTfRWvLGdm;g9nd0hAX}|UDA)u`mRo3Ri@kdX&L8!G|5Da$ zsVn&TZ&eXhx#2Y@@p4MJ4=MLGjK}dgIppJ7qhA6f`63QZbmhbX{rNG-aRQ~UqmlFJ z*D`u=4%;z>3)+Ip!~A(h$%nl97ff%W-qb~EuZXF!M4%WrnuifDTzq}D#BX!O7(6AT zH@C`B`&=pqZtz??R18_*O_4IU&mD=F+B|)RXz4bim&2Y4eB*`+OBapnu8&E1wLI!_ za+`#XGdaURNA2?}khqr89*)R?~Z39T_8d-E9mzR8uUsH7?v>n1_Y z6e~F$O5*s?7IvBwXKQ1`O~DAt+9wd`BCQGQsAgob@7O+5%(Z-vp)`MgXk8(Wouc(S9{;EXR}I^(>Y~R)&dnG zSNE=)5JA>HE^Zz!kngwdiXv8TEX;zx#X|{w?f>3luE8XWS17c0oyAizUjcwe9|80h z`n9V_GlW8!?}ZW~TrPLBv3-&^58qL*^Anbk>JY)Xet^XuqT;U{qi=d36nhb+Qk!f zFGov5))*6RMrE36`5CK7Xo5M`F`vtN^Y5m!t8L+K8Ow>k^*jlzZ*`h_tij z%b?&njY*_N5OG3%bd{Hm4`~E*JSER~`cC!^wYj$67UisYpatS}9`kshx<|2Z16>DE zCvSRqTg-diRM|oS_OwQcyQw|>wF_cf?hkgzcTJFW;_x|Po)6|Gsthz}uL)YKR=;%i zaXa@J^<}Sv@Q|8wY-jD6<%?sR6+u$GLbjw!11Uy-mGPvXdrX!7Od>&QA^1xV7-@e` z*PT)n6^Hv~W_=Wk@Da*c-$womh%JJXZ$i7==n?8#6YEn*F!xBXsQ5Wdh0&3#YFPf@ zw@d&Y#Y`rWG(gg9R+ik1+vi>dDLVH({?jy4(pw%D((V8Z$!gubQvzbh3H@jQz+DEI z82cPzDBFnps>63ryZ`j)t#U7II6Hngw!cT?DC2P^CGr?tj2ok$6X_t8d#+mKyQi4; z7H;g2$J+cjZ8%akm_Em!bW-Yt;oVtS!q|~UY%dpm*s5H83#?HJ545>m15d)-!8d#) zq_?jXT^=XWppHjSd=a)6i6xsVMO;#_cdaOj-Pek325-nOdmPHb4&h~*v6*#oo!!;D zr#Yt;WIg`)0N<_NF-vFfBaW21iAMq}O?o%E=gxXRCy+#T#u$f@Do|qYnqVOz>R(ww z_UyIN4l>{(#E>CkXhYhK*vJs<=nQd_J?8z&KajAoyv6W7o~V8+kBs%PJDAgY?miF| zO%JK~1&=#T9B=Pe>$WPV#o&Y6pRA4Xjsap5pNKCfI@XU8P z%x&FtgKOuFjQk$)#NBV7A2HrC$l1Akv&k)}L~WI!tx#z10 z_I^3S*tK5a1*gUEL%q?41*qipU}XQwGh3FF$=@J5b2?w*zgf?l0u`{MvyG;s7F;tX zhlgVT7*(J@3wB5QT+Lf9P%U@WOR;JjKaj2Yr-?{8W8X{+e^^Tn@sa6cGiLe?tOa6U zI={HOB>ri-PG2C(bf`JBb4zsZPP_*cwzYAcvYz|Fw`y^$J8P%+Bu5)ylY%*2+q(<& zO6Dd&PnrF5+b$GH*@Q@b0+8UqIcD=Uq#QvOZrnqIl1mRKketi!s=OWSYvY<^LHM9w za;0v;3`Y%(1V!s}8dEmJpEU?<9!qDsk?5^K3fF;%p)zqoU)CnjnFRF{z-SL-2ae8T zKm`5p?FY}f)^ix^CQ2M@w56#Dl?k0n9Nf&sE~3~5DkhbqM1VXtK%_||Y`e{*8jcqA zDbr_KuLTay?|gn7$Oha-vHoHFdM|dQ>T=KRL>2#+flF4!CaEQY2Xx8RhX~koVd(-A z%i%a0l|=E@tB*MCs>eBhwOd>aP#41}7aUv?VECh-6Uc%1x;}!xt{)>qTxD`7uyWYw zeyqa#B_aY@f4`DA?))9@mh^~uc+-x4UKOau8^~c*AB}^Fn)j#IH6jepig%~Lzw5KLCK-263|wXy zeYD8JdI<7xkB-cS%8=d&V5xZYc2l;wKAa(Tey!GkfCC_(eyErD$0Eg>nDIgMkg40 zuKBMV%fzR`jDBmqH#~;`QH~@=qW>=cP)Khv=YoH}|K6MR?A2%sY2T}cma#{4bu)*m z!1^1?12d8rUV0ycVMVi`Ge)BeCOWJ5Ys!Q-)!)f@{IZj6o6(=;P)Dar(%k+&((RY; zRjU%9*rP^P2(o-T%Z#>}EPCF^GiJ}Sw<-jU4)Bk?^z!0jO_+USfmfRoM(F1nS};62TZgJy*2Q>0;~5P+v~HmGBYEV=e8fnw_?+%(3~B#=3OFF;EtF-aai4 zTk{momfe1xcjkPUt9P4x~2AzB{IMSu7^AEA!Af7KoC}t4-de#qApBr5izV z{A_j~MrTXu-Sc^*hL#;`f z0~cB8oc(DYI>wq6rQGo+yz9pMlWAqA zL?~tj{fp5@$QlG$QB-qp+gCV5(8mGWF<78ZWuWHs!PYRmucb!{JopcNfqnX~5*av`e z4H{b;&9P9lQpHWNvjNguaMl}&pJP>De~>piFh)@8mr&zw%ld47ubRpJRyTob^l^>T z$9L|vO5-z|7wP9jveRL~Unq(=nlAj-?#3b4IkV>tD{>bp9Z+%kaacj>w)%&WJ>uV> zlkkW6hL6priD!MOcAH?U^s;iv+J`@y&qACGUt-;SIYvdMnlRbp zCi)?$%*BhfY1UXXQYjf{&<~%C^qzygN(rhaThdzOykvTh3{_TT=VrHUbdkk-=IZ;>-|uSm^N)Ny-9%H`@+ zBq^((nOQbucsL732rP(DJzJL-!2+@U>YXQ9=$8-I;e9AUz6b|jl-$eLa!?Hh(|JR3 zf+@$1MQZwz%|?s&2yggU=|a$Xu%L_dP_=(8`8vPE<3wsrxcR@@OOt(L_=ook8`zr@ z%u;EWV{>Wh)`5JsT!eFYS>Nyk2yfO`opGrQYe~$76@Zw+@JuDvVJL5892Dj z!a6tV1P;?YE3S5QM4e?VW^68v{xSZj+&a|Dn7yg}F`B?avM{(z zVK3Xf&!v5rnM?Uo{{{Q`B3QK0nvRks%p>nBMi6Hs4SVrpfbq^YN&1`F#vQj}7!o-Q zLO;~=<_>h-3xJ61PbBeZe$z^G+No)DCu%I1`VB$(DmDr;akk zpGyU1Lb#)FnudEezJwkP43=ids+qE~m~;Li%$FgLq#2VymPz)OiM4Zk!OlfK*;7&X zuBD4NLcfme)8^>qakgiu4;Dhf=q-^3qkQ#yH*=#U@a z=MohdQUVAD6?ra}wIsdHIK<^+{&O!8h&vzBvmQG3c8_tsR0DRE5I??bBGahK*4{Fp`guOa1pQ3Ep6Iui zGv|qWJ}vSISuO>i{0fwF9K#%Br+?@z>LbMxj9`FvHFN8JUTtAO_>&ejocb(N=PnO# z=Lu#Fz}cfgwY+_U3{}Qo#`ALJtYOF_Q%z#_FkkjLWY&(1<9E>$FK(W?4G&i68hX>s zqvt-yKS!`tjZPV!%jEJVUzJ^RQ$XC;EJGVfd+SsUCETmc5M1e3yII&0qNi-OHh~2` zKGq9^dlH2@kusELIH*d5=#@<8KgonOJAk{Q=(cv-wq!_Hj=J(t@w6?;9F5ZjFb` zT)$C{2KejCs++%N6(GNz`h0g;$ndNGyy#d8=s((1{K3#S?R{;ddVrx-BJ2JS4CI}A z&=It|on5HgQ`C8XV!ApR!%|6LDGB{xwkhP*rAYa_=%=&Go$-T`xC;D$(bba5PHqi6 zb;>^LwB3X=gJ1o??$|)>pH4=qJ3$ED6)O3`eJtluSgS_al98e_-D~S;!1n@dN-4yU zzEl}--q?a~@WxIBL?@@NPO2UynAo!(wuMT8K+xx=&OfyYu z*7N8d-S#2Bv|PY6ZpWSulK9wF)xD|i9sku6rozx75#>YgF?jU1O2)VPy;dkgBIszI z)*n%#{TEA`85?{F0UwUeHg57)DN2_G1J5+eQF;S7%}AWo(ER6lahDlGAxR;DSU_kz zqj0#^l9S$8RVS;`Id;lhZNFbGrrm5r9-U*r1PlIHQ4%5M+U+O6Skq}@g+*oNk4@35$h=&EM=v_4^j@SdB3N7G~Chn6S6)q!y@)u)_A$Gv!He+No8%=$K2Yo3IB zX7*CZ#~le;&x^hhOA#@vtD{6>iP*bw#w)2=X>F|dXy`@qa{9U!$ogDdDMTD06sXC3kBG#z;Y1>)O1k*dR<}_xs$jddAcZX}^tO3r#XOeD3%C@<;%QEM4P)R|Bsd^IG zF3a)U;wu=TbCZbxK(NR`NvfuVE(4_!ptN7jChz;k4oawGE9vmq%tk`j8B!kW!IFFV zvp;?P8jy5TEV9J0q9~<*P@Powb&d}*!Q0X`BXVLsv$IpFgvArMaFYXFs;l391=C7W zyG+8_UVDqScPwt5ba#{5Iv=zQnQShX9*Dus*%J9=<5e`!i(MrD3}^(Pp`Qd+z6?4* zdx<3>vbLv!v#-H;34qVhu*~Knrrw9o#eM|sQT#PI=X}L9jysC8o7~8bf1%D=ksNmA?7NXDlPmBfExypTh<^aIc zbc8IX_(>GRj{|~XoESF+4G!4n->`DtNol7g$~p??I{~z&5-+vU)aUOnzoA!hZDxnz zFvxN$iKR6`7DE{5Bj}he)Tkp_$3wE7>>=AjApq5WE> zBIH`*i_&Di0$9^aERQB`pvx?y3#%s6`SrOXUkR7?Cd<(ksY{fYX*M~RL)L=*>*s%+ zntbMngQkQ#!YL{832vAy5~c)E4WFwisUV4vXCj~c9QYTD9`BX%VvgWyymvu$C4i#@ z&kCLs`*A?zZ*q>sP4RA;jE92fH_SV)GPKg^`>D`x*x_Ro?bCmQ%DP1Wq^GKLMV!=k z<5+|M@gfe1EsBC_o!3`;A^`p)B|;8#Nt#~34B(Sb5j|vDYXtrDeMnTAYNC|RFLw^e zY6!_Qzz0Z&j9bD;>pCW5DJgU&+$3_?|fe? z8)+07xSj|Jc)Y@v?|(ay*Ok20#x==t`GApf238-_*{po?1lTT$eoTKweyT4bDTV}2 zWIh&asGz>BPeRP_5ad@Ec}{{e6%3A5H_#uydJ4xMG=`x6&xwHRGCzC0Kj@RkLjj+( zfth{&osa*8m3sk$pyB(rE8*nN-LFPo2J7S-4Tr8s@8*3v!yULR4JrEY_#SZ0#3-dr zuT9h>%hCTbguWz48-7`wRLLO|pJgHIccg~1GEf{o!sh@O;ZtNneMCB-%~NkrWuoU@ zjyv|edlr8+!naJYRmtwkfz1S&Y6H-zUKJfIU426qq^YJIy&?iw%dOS{q_=hCE&ISC zx_~B{zaj;09vX7fIhP`UbN%`ktd}p7y*dw+CrWEARWdezLx&f-a{60n zTg&W*kkh{doPs5uWy!$+91NNP<86*u9{t6Rhb628A0@wG0R+{EWfJRPQLd25*PMh2xu>>hUb)f3=o&Wx6C zk*?p$4f6u(mA7bn^O!nh=HL+;YL>RapK%E597C$}L!JO3=la=~=nN18RKGG?`yP$F zK&N5Ojo(ea>9rf~3*jV`c#wXdaXn>1b)Ni7D}&`%p>|waEi<~v)~#;1lV$1);Zow! zb&pV0{?tT0Cc^;o>G7|c*~ZD96h!q*N=zhCd7mQ;2vVjhg?RcNWhSo+89FHrG0;!O zJJd7Ni5%p6fQRyiTDd_88tWxx8)_TFJu+H8z)VPCT|Z&}b};hxPzmqc zTckwE%k*27MQBP^jlHdxpFr&5qN+jIU#`6Hwt)P|cA|qt?=N#kTMrFKbQw$n?cLR7 zm4slksa7_^WmU@74!bQt2$m)#36$LH8bEGl`*y^`T{}tmK1nZ8=cHLTy>bb8Et3RB z1XZu#pbrTWOVRe#R%7L;^r&x zV??F@^a+kJ#XkW&eMGnQvMNVr3j)dyg_US=Y?=~YZ}{Z6C;~GXXGFL+oy0jEGIw2M z&)Lo=5!x+kM4qu}IMOZ;Cov<9Y8ly)oF~9J?`?e)I zj!4r@JULaF%FsJsXWm_}fLup)x^*g{-HeED@)Zhbe%4GAw2Pj`S!xS1zrta|aU$wW<9e>zPoRy^bYQu%kwUtAz zIW2PgMnmfLkt-cO=cDlQ-dUCBcDbDWzW*p`9wXOhv+VXKz?{1*FOxSf4@wV8hJ<5n zTV7U`FYs0#M-1;jmmArR7;D;WP7orMd7+53%nqf>FdRI_Mjf-ZC3Sy%o%Q~mbMY$6 zP9nt#_R@J3K@ij?ZEfgIxh8F5H_pX#4LZH%g8++|Inn+YW*+{q6AHeoY# z{@3Phezqrtr36vY&w*sEwmo)+t+~_*sd5gmWrrGKzNzIZ|1{YSurh*L^QO zG@O0TeI-#qasIO~d^YV)H>d0I^S6L;Y-=^aJ_nB9mOF6+GCddM!zNXbCL4%pRU>O- zR&D{ceQM7ucIP*JyE~!(Zu&4GdZb^gDmNQ>_hib;J(g3FX4`nJ>grQTgJ34yChCb#Q~^m4WWxGOc?r_@vLU@=p38V&Cczn!@H>uGinKuoNpGcp~i zm;Ln%%z2!##`|5Ta%j(CuPykB6Is42)T9me&t?$Sl{efmU;Gpi_@!mkIOo>sX!Vtb zb+3}E3QTc{nS)7#O5Hkio_~BED6CO)l*g=l`*FfZ;9&Xrm8?WnjuJBk%LvQgZcF>< z^o$il;|=z1KYrMp;mnrc>u$jcqE}aUb9D#L{WYULBrhy<;{uM?3AV~!Hm{NRX3zy7 z>H?JT1z7Ni8E^Z)U7a`&Ax*bh;^5x1LS%Y-Loq|-=j=?O@fLZ`e_h+Tisq0QK|&>9 zLRG~U{@z^kq`)97S03gTK?NU-IEKYN9Piwy#E-^J2WGq#syzCoe7_|Px>8SDWb&e> z;)A$MEo3srRT#cL7f>KgSf)Rd?X@2yh>t(^agpTB>(~=L+W7dZfPwKoPgAV5cu~DR zfubd#O257WlLhIBW6+TpV2iM!ZVha+q zjCW^aYdc5f2gqHOxpr%2v2tuAvMoXqg_jNytIApJ3=_aYotdBHEU!bh}N#*@;0?n@M={LKrQP9L7VE?B3_#4$I53 zR{OvkG~S)=-`3$XfIG;D-<6Z(h`h`6^{;t{jeV)9wc>p5j_vq-sWtW1bC)ge_#W|x z?@9(K$;yqQD+sq9w`$Ibg2>gyc|Ov&7U5TNNQgl&)!FnaQ>*&XPd}bc%V=ObHh}(; zn)1NMj3Qrs>T$9mwkBeTn(77iD-A!yu_Et_){d9{U(Fb617W4T$1T<49Y2sFXHS5% z>n0xdNJM|+IlF|}S0>LY>Hc<#cvDq+54B1fX$3JMzh3{2&I7(Y?m_#nMZ_UF-hl0y zQy}8Cth?Bs8VJMsAVyMpe@C0&W%;zWwtI`RvFCS5t*jgK-N3m*U;Ez7i~7n!EqGe< zGN9|{nr}eQ9f=zZpQG9(*>+2R5O71eg36wck>Ra1=Eq+>d?(zLKK8|Y=kI;2(6=0m z6m3)AZt!#!*_^@T$))rl1v!1k$M8{f>*|`SxtOXoaW2UD+QlD9mWb~1oLF~o%Mx7A zc>sPiBE%h+ROfgrRvYxU$41<%zusOdCq#)9n-%X8rmRx;JN58z=9S-cI?aI2m|S18 zv<7d9O`}7*o$~U=pGK!k2dgcKwI4Fab~+qt6GrVzZU}$sWFuv-4=dWXn4!l(Nk#VQ zd&%;Zh*@LlZld+EYaSL%U~*Bbe@tzus`~S>HE z%tUuEZV2vPzWHPmoRam%Te&4;gHth}M$^a%MT;Xjnx^=R1V0-G{JsC~8RuNaKn&Ep z3Jr2{xgr;SHTRNTOTfBGI?p4qNiKas!_cS4E5mSz@QIaxyo z2Q7a6L1MGnkk9M+8LY2>B;onV>B#b58=O80>khe%Iy} z-OpB+Yp2I14GmQOn8yQ$g!K&+>GwO&s28W75ZyD4{)YvS)3nWErC~ zIqYKl((i$|3A~wNQ)dlemX7Mhu%A@pdx`mbMcNvsr$OOgRZH7=exl9;Upszx=8oRP z|0NX(d_Q*isG9=yVjD<2xXTH>O?z+@C49YmivRIGT84ZHxm)K_r=F_-R%-YZNtkd> z{|vB)-cjYO=;WMbFS1-Q*cIk|Y^~fj5w^EOgT&Hc%W;7~F$@P&6;1Z0H~)-C%THDE z7HPP>C*l4DZ0ff0xnV!haqx$J;up%4vuU+CgM{w z8&zFuKG;QY`TvtrKeLZ2JZ|djBZAV-)int(6tZ$de$yNc%FN2bDtmKw=}K*4?qFVA zkfRZ{isbp_SE4Y9GL}8g>2yiMl(#a?G#`}+-zYitl`7|^_p^wC+1s?|yC8L0vg|5D zfxz*8%S{G-5Q4a5<{g5%B8!o@(}gHd|hgyQFx=pV(bk^G9`E@> zwyXRhD~k*G`%PJBNUX%*o@i)A7YsuDWqXhZl}D7{iUnnKs!tdaivA@4mXrmz$ri2s z>@ghrlp-m!y=~V_$)>5VT%b>L73-)z$lzhNdXOcSZe9Gwrln0g`dMms9u9h&e`a^b zGpAI?^JU*Y+dp>1_2Qr}=rBq9F_#j6=ipJ+I6`&f9{79dP(PWc5totKNT6`?;zd?ZtC51oGn&GxjYX-)b>;yAtRmjQqs}y zmjqsiz3LAQ!M(bhL4`kvxh|s}kqwTz&4FCnh-rIY!3HXTqm`qX?q|3cT86jHuADeM{ln^ z)5z<%@9d(2KcXZ+*55~YTxk`{YRONwSKi0k5rWS%{^pkc#ALTdM!ag!&ynC$&tK-4 z@sATZL_xi7BSNm|5+>Uu4iN?;^uJ5AKmT0VgpztT)tTC{t9w2_e?~P7d|8e+J5tzinv7p8I}HX~$s|f{WRlvP4;4zwMme%6}x(MQMe#0I}Ar~+GQE}9b+ zN?Ck;329Ox$p@c}I(zhBD15JMFp-5#cHh@za1nul?>O}<#U8R2_BH9y)dY06JACWc zc3jkq5-xqR(iB90R&$qnoBjoSvuD4c{JPn)#@|gVWi(*n!8(OTPJ%tGjG_CWHov&! zB=u=%2YBUB_;`_w=H?pKH1hiDgy%;+2PM-j1$v$k7?^8Do0=V$IE3t2&soS|eqX>b zI^lz-DTIVnQ9Nzz^LMTGeHh*IiNQ{8p zgpEhqndSR%j^$xynaoB7yIZF9j&0a0D|Fo zntpm#P{SYPO?vEJEd0Wh2$zmu&*Yd3TOV)>G2f z-EbV*iKdM3sqKwRSeKW_#BQvY@&G`2qem1UsHQmR8q?NcQSw0>rNVaHlkT1Vz_~b$5|l!>%oEUzLj|gGJ`||u*D#Z5R}PIW;CEO# z-3xeR!>`3vXriy)8PR8fS5OK5$c^1el%9&r5ANL^yY}lJ;Dzz{U9jlXaK;{a zoJ;OWJmf4uQFCNd_B~2mZqI)YMK_ZA*xz|d_zM*l#+;xi^N$Z)AztY9-j+XamYa?> zHmrops&DGDJ5dkr7&T#1ONg!^)U&fUMnScw9w<@t)GXK|6nTUfJ3JbYq|7}aQDG!? zyV#opU2T$2yP|xfm)n*A`=z1C?4CmU^4J@zxuj+yGR{MDPTk`Gh<-HDS%PB#L(?Pz zsjbZ+!3;@JjJ6hx;AD6zcCc)ub9W%i=9`SJRgU@WJl&Lz{3GO{8^w`!+b7B7(B|Z; z7k+)dH`SkgY08(|?N=_|l@Wi)%g)u0yvh~i3vA@P_SIbYk`~pu9=h+;5sg$XFjeMu z_;8&`uwamlX>v0r+Ut^m}`WUsi(lOyw3h z2*UL_np{R~1TWUR2)OofWw&#WlY})g_(0y^f;| zo<9!t;a?W^!ycq0V(dc3xb4nI^{(^8ek6F}xQ-pD%7lVR$o~K$yrag`%d1X>BWBz; z634%Bo|UcwE>%>X$mgv}RH#o)TCvAzu*CMkuH<;)4UDHG{uOE!Xr^eAa_H(zWUed`@aVr8?JDpA*V+@HJ;Vl&#Tc#p#}X}Z*UQ(P=tS<1U|N&+xNd$O+{ zepYz&@N$hcD6LkVpHG)l63%Jl)*(=#OD@*q85rn)m33A!Igf0E1qoaaYQwl_G|3ra zK5X&Bg>^g(clzSDjPXml?HGRag4pAb04MYYx$!TVCYFb*mj3Q?i}Dm5xpZMOdauf*Z}NV8m6eT+oe z-Vu?8K#_-RdSmm&dAz}aIaUB1aylPM^gkYWhQ>RMM#DwDzmnGG>275$h>4dCoOjwc zanr9(E6?sFn&r&56Eu$8lE%9*FqC1cvOJ9A5l+2Zr>Y_AMl;ija;94zwJcGVV51#< zYrOGRr21WhY7(WiM;8*vu|^LAEOC?VUqpC6!f^O%^ZQp!zPSR(EwquA+_T5Ylm7r7 zIUh>#{{R9kwt9qDk)#eo6>Z8N0I3hJ@RYk zvue}kP+NbQ^_f-?Mvt^>U(obBJLV8?Rty+q5%lBy`_-5=uP#tskGS=&V@G+Qv4Yi{ zo6Ls2;rmKH|MX zO+!l2w8*!*MFcDIqV&MUZGKoL-@PxvcKMonK2LHBPtE@Tz%r~nA)&sdaXIk)gsC#4?8 zdUyW-CeCWpgXU6d?OT7wxk@D1&* zt)Ux9_Oz&mDFGcuI6swnSmb-xN$}%V8efQ^5|ALAh~LxO^{yOkCsLEP>r<~Quk5QN z_IexoHj6HeuS;;yEVidBkZ@z~{{Ys_QAAxs#xG?YjPQM=vWDmfek-#0pKlGtfWNb6 zj(Gn1qhosXJwMMC!gv%p@dw%jF3JG`x&TdZQj?u2Rc~8Z`U&#FtvV5nqTT-h%=XPU zS=PKeU|z<-CW;!~34e9QCvk7iVP<;<7hk7Ks9h}jtB zV>35d8>v3NmE&GNw}U~}Sto$J50b2d42K!V(!FC#@fMdX4IEIFRZsyv4m#JH{8YZR zxV#DGD=Op`#!Bar{VMS8E}};*6;>`u>FRm?_Ny$>232U$pKcFQJxM>6WM0l^MNvBt zafVkT2i#}r`c?f%+5~3^>{W71Y)>5Z^dI3_i)^v5wJhl=Jq|EN2lM`w@6n7>x>h)G za;YcE-Twfu)X>p&n@E0JhGp6S%JN9(w@lSf5#QbGw~494aV^V2p%obZ@j&heaal6k z4Wug)$+)|xAOJtl=T$6kCAX8!NeZ&`^gmkNVdKru9nUhZK5j9iReQbG{{Yf7^wB#= zCN1-W(TCp81RB$V=U_2N2HfPY)c*iVs}8bmBikYmF?sn$0XY8v^;bu0V{J47Rm7lW zj&MlMN8``yS=OH~#*XYA6*c>*-_+u@cu$zdISGumOl0!E{c6iO-L!N)tGSa%dzlT| z6c4n5p#AQ`vGolqCfRWUvIaOQkGen{f1i5Zm3X}mHyM{zyP99{-`7I_0K>gBOLryQ zv4WBCgSmdAAB}b1HMqF6hJ7_I7dE!)*8`88-<_u&h7ajfz8cz-I1Z<3H^`@zFWdDM zACIoBT~C(~7n8DmrHhjMX8?~;kJlCE)NZCG+t~H#MNq*cw9((sf7Icg+3s7)jmyYm zGUT45a!1z{Nuy-Xm^Sgp*1CzLiqvV-nZYp1z{a@YN$2x5lxDP=XNFvPb7vAaRC00; z(>zzJ3Xisj&sW32J73=a0Dz3O$rv2e*6P9XPTT@>ih8WJS3f*IGGq|Tk;tvBKKo6U z)!@3f3)PhX&pr0~XRa#eHx+cQVTZ%UaN$Xy# z;7BIBiDJABA1jq(*ZltgTJh86%QAh5qzM=W$p9RVhP_+i+^n||t;4xE$Zf|M9lgzX zd8Ah-GXDUAeRf$nI7%<4+LAi6upe;k9XHfA*zv%unC|{42wJU*j8Z5NpntvR$r= z5MUAp0p`H@LC-)=E9hSqXfk+#JV#}1k#RMUf)_oX$|XnUN9SKV-uxT*nQf+v#_*-o zsk0_KX;NuN`~gX0^a8!CqYq9_Q=8Xi{{R5t%<;8h7{&{I{{YL=xZAIbUM?3F7aBzN znj_d*{f;wZY^q%e1n$T=M z%SXMu39;D*H;_7KfIk}a--vT1$HQ+1Ledz%*=}cGPYM?b57MSiRHX>VXMOeaH>FB7 zsm^lWOCCz`FjZ}&D`yAS6@Jq|)UPaIy|#&Dj%gVH4f8HKvGgAG0a;?4!oU)&M?EXM z@J^?yFNP=6n*RV!v(q9cE#-qLVtO9u+Lk7);SOk9aXTnVD zE~ZtspX__yLFfHLR{(NybCPSn@ZljfckH??>Hh%8B!61-@JJ)+QBhf$O^dXF&lRWP zy(RUHUMmEE!c66I@c{{box}wv=wv!20aKl;Cg=zeI4Sh2HRQC9xN~trqWdM zJq>t=jXW1|W2a4Wl0Ntqi;NNoAN^|a=+uMvC)E0vQf+%kZi45=25|+;PTQkVj2wVZ zUOxj^x7yXp$g`uA3ge{!5eeV0LNcrlT3MJYlicS0DBXW*R^!h zz|)J-7}U;cN)}uB9oC)ViOdSj>#(w`72!@tBiov-tX)rYDwKAOOrN@uc`NLFIpVqd z2_TN$;|cPPhp8vm9+hQggdm9}D2#Aa9FFHa^yKI3Q}t-VSBg5LkDXd-Gi8LDc;$C_ zmT1CYusx5bw`#Q05i6D$fy(KtkMf_3A3#oeXG)a zj&MJ%Rn%3-8gr>GMD+9X{=1yy_ZyUeKwbR_EjfCvLJcH}{X1WbOP%*?7JBE!$ z4+lBhk_J8U1z_6QOL05LYNkd{n5f4fcOJEN%H&+$<-ij$!i}H}-9|-4M5LN$MiNt` z(^_9oUi$urMFya;HtCW@4%@jo+B)MMiK6!IQEInV@uN7-yeq<5ZK@$G0qG)#H6SKR@eZf8nju z+g#j88bXnRn+PD}oR<3fX0m)-vp%rbF&S=_X-J73eqwS?IP0HZdeiW(uM=svziNl= zS2BiH&j1`?6X{&__OS%b31H0ds;b~)b~DL6d(x#Ddud9>7@5;pSjEfd{amB0G_5z8 zC<0Zg~ejm>-pSU4o6kV3J4} z^{-O!G*>rMTZ1klxMIrKCkMDc&b++MFJ$h0Mnfj$Z|mlJ2ZV1-@Dt{vI6peCZ*yIZ zjKe4#oN#$O*O=(++J3HMok}4b5HY(41fQ;Jua59WNB{x=13cHuOWkL$h^2RQcDBfo z$#X1N#Do)`*chlrqjPC^#3B@tFbU{Ssi`z+l51qz;fNfO-`n}rTEdv^*lf;MpcT-h z;~S&ONjdV!)oVyD_RDt!GfEM0E5x!8M^FhB=ieLt80elV@V({MoupdF;us?@XK`)> zEjeCxKV}4H8RtFgmhpDEu4(f(*(9DMM$eeCk@#Y$SbSpf4w;0$(*~f3z`TPbk^a_y zoq9MtU1rxR{C`aY6O|=Toyi+tv;P2s?X-`FP~BhHDAcurZYC1P^Q3&NOV2C8C;kOq zKl?_>X=UQ;4FgR?iqlKeqlF_={;U#6U(0V=`cvV*ily_YHCI zufxvaL2YYR;YXra{{W3->@}-wfqoG9OP{@}Yc7BCNDt*%>b!mL(z>ZN$dd;rEm=N+ z&4#s(Gosy({BpQh7Bd6J(dEmlBaYa}Bj|EJD(?I`it%c}TO{chd}IEZ8s&6ViYXQR zuW5B~t2Gc`nhCAvP#_;0G(>s}MKkV*-7`6sPqc*g417@j#*8-C<< z;FjXPb?`@ybx#b)5(yehZhv-LfPF=2TzJCsS=Qlu$*_#yK&P-3;nl%a=4+>O-NNGN zwwrpshcn_RqK{j+iVzkrFo?!~g!IR?P<$5JT%Cj{Z&6*Jjx;$Vu}kq020p=f1G)ZH z$U?94I;$(>kVSg9dWv+@O!M)yB}%(p9={<~m?84pa3>sohuWorMh)`(tVSG@!&3Qj z%2#Z7Bmz0_n%T0@E~b6b;XxT7931{NZc$s6Mul3E_Yo$U<=nysI|i~*BgZAyvHm32O^4~KN=bI){) zoA}-s#oocb1}eah^^u;Rp{#9U$XW=cwY<3_cI;<}%N8On-p%dg{{Z0ZaCYr9Hz{)wA<*O;bpHVBS4Az2mbYT} zcA;Ut1LpwX7Wei(wKkceAfD#f%aauAL(4-CoB|y0p0ibfCzlGC}79uLB>gbD@Yl z6Iz~JZxnOL?Tj3vjFLa4Zt2A|(dEYzI zEakZ^_BbY+AA4$&2jg2iEm^}D%1+T&Dx6ZUd|*?ij!2xxBy5hS1z2E%O-$#dF*MV& zEm@WOL}8tgON_GhQR`mA@T&SW^DQ545kWF;#!n+2#{>1RG4RfjCaHbp0fby{Z|Pm_ zjkVu~?c`@Nv`oO0jP2u%-;WjK=1vtO?C+`c`6VilUeT*X^*fDwQjMND5>b>Oki9_u zrmbD;(48qRU}DazwT5y?^{*(`b*qS?Tbox>ox$hy{OcCe#a9u#q2?zT!2^L_bTY|G z37)Nd%7rPYNctn;&x}Ojq5D9Pspkwh?ag|Pj-h3B0{O0mPC(C7&3rKyvva0ut9zzg zx`yPgc*mix_eS`;c^oSp(z?Dey-t05QmvL(r1`08yB=@W@Yso3QstN7_n%hI+Gg#| zYi`_d+d-v*4HES>$z^Kp0SWuDkSpd!_`-u>d1t_H`DUEs=uKYHel|od0G=0(0r_Mn zuhyoGJX9sj;3|-!*D9!+^*x`&@eXPx$pV3j!hjw|8$oteDGIc6l1 zdz03^!{Zml>n{-aLQNM*51YNQ&d#{P4o*GE z%=2n-h%vaFkbNt#@Y&mIuAVv2??>kqaCSFRT3val#dyKRbJthBilZe8v2xhl@f>zB z>f3CXk&UwrxC%#HS3htuJB8`GuHCH4qUEMX68(1%z}9(FoYpj>%M`D3Ol?Iux65n0 zj$fzgR$(|Hfgq{Qed_Dz*EZfC8l~Ja#~jQA4Uj_*r%_q(p=QAE+ceapE7;4DbeiT? zy1DLJUbUlZ9vWCCkZ+O_7y*(GLtc9R9hF_7k5M24#^^sT^q&tUw6@jpaVoC$`8RaV zd9P2nw9~Z*x02KX*u&uU=Y#y~!;*Mft}xl3TS3yr(o(3k^=F;g_KgEtY z?fq#~uTy*eM%=V1t3|c*W-o=j5u`@gCjR+X2lw-ZU&%l|-Dvo&rbnW9LGEnr;5vVW)kL7JSCfw5b5~^sWoyZk4HPnn91sl1PEcL^v!z`qjlONAF^% z+*D;Lw-`#w+FbF?8gceQWoa0KKrP7Q(xy@d+lfxrOoe6c4{Uw{v@AS5diM`uXQtlD z=uY%l*|0~c#}wUv!xxrbQfhXWiyV=bie)(p$AYX!0kPQEbE{5M-*eH7XHJx2+HHCD zIQ?5&hwZCzX(Zlsc?!pcRqnX&p7m;5E=0PMX*^>tc9=NXFYFw+8>W>ywao*AURqo4sbo2QYG<$!Tp*jNG6X}ZDyzu^!sOhVF zq-s_=a!0wY9`0mBQ;dPh;^zO=C5zo?Asc zWnXup?Nn~0QsmUkq96i#_hGERono%N!6! zK6|;3NYwuTp0zb=LXB=TwsC)dn8uYmv&KJ z>C?u^B8Q38M4qFYw5Q>S7&A{m@C<<-kD<=iDe`^Hgm>sJu1hDtQOBp8zCu| z8@R{eTdFUUn5PRXwsS1To5pGK1psYqxDgOWoA?kHaWB&kb>oJ#~{(lsm;6Xg@s@GFV&28#Mj!WO)>ymc6#?9II*eB)_h z!8Pe02z0;guNMs?`$PLU-dJ8nw`62QObv$WJNwsft@tBP@T^w)zsDaKop#nW*`{eW zCBsa^A2V>I;BkOE{qEJpiL1#`S*u%aza`YtF@&PiPW?L{I4_$hSVx&5$Owy)N$G$+ zYo*bCANcnE`WS6I8?J7V!iTui-Z;m*Gk~Cbn)YoJO?7m)KMei?&2I5F=(QbHc5U=4 zyBI(4BVBc;hyMU*U1`-d9}{SPAAyEhqftDA{hg{0^R8!JuSi*Ww7(5ldpPNNUHL2i zCz$w;;ZB#~{W9B9_<`fClav80po9T|(N&H~1HKf0TJh~**~h6({hc9eV8ljFc^{2^ zE35oG_-WzINwuGe{y(|#HmopO30y{}9lW$G3pTZ3I^hI~-^I^s#BaJ>){ zT^@t*AL1sVv97Ewba>yrZy zx0#&bkm^V=>Tm!Q%`4)U#orJ^{{Rxd3|hp!1mD^65D6Zvaa|vTHBXA|uUlMrr&ua(THQf39l8?ek#zoMhB4 zUR%W_e zx$bjcM_*2;1F!&pOk%OG^}9rZLS$CJ`=Ikv?cF5xIvysac_$@ykC(ht;2mR0hDhI1 zmS%1<5ZZuu^UU?$Z&#pbp18_v!f8r+CxE*0-&2kwzny zJmYZSit_DWSiE`G-bkZZ-0s{meqZtpRT{IXtoHlABdT;`HF+&|@A>F<{u%L(sdAd; zx8gq#eTz_@%1dh}A#xhHr%IqCJl>3#y~ns$ZZ>&sv5k$PsCSh0kmK&l2X zN%yY`j_$_7W)QCE*@^i_y>uD}jFU*Ye=gnFu*Od+0VAFcdQm!675NsArI-9Ue^xi@?4WzVR-jt6u77Q;zZ8QDJb3VU3#{gV&5;dS<+5#`*__bk82o6{Xz& z0KK>j8|{DyvaPs%%;Pxk$0M5F)iukz+f=`@Xf7sDS>j1H0=<4*@_v=Yc%NUj)@+16 zM6q9P9!l)pxwFt8daOID-MVe3LMvhE#?q9vR%t%A=$Wfyr1%XiMdWhZT#o4(`N*B5Q4Xm?Pnuqz?q z)ubS+cNq1oyUSe~%Tg>PB~YV;$>e91{S9oX#-ebWZ`6vE=RwA_IZ}E%KllT#?XLCD zI_OIGH~Y&u+xNKSXY<8(Uj+Uj-FQCbG~Hg{T0CHH_w?8uf0JG{VDhvHG3w1W{ z6mcF#(X<-lwR`0^vzP)bZ2c5ud-M6#sC{BCl%r+S$jco@jul3#o#gkn%=>;Rto2I> zZXlLBn^_b*ZiF(hBd%*RT+krYE&QdB$FO8=!3WspybJbz@!iIUs9NZEcM**zP|M%APvcjaG-UtI0ioQBtcX6*y>kXT|>jg;K7c zapD~!Ez??@-bA0qgRFzxclP>Mh?_}#;HrhW;~a|nrU~JlK$z`W6ATYS?TY!E;tztZ zd?DkswuKCuKBVm>qXCe)Jjd)uZ){i4Wwm2bC^mUm%6FTn*5@ywLpq|W+Pf7!#|QDP z9}|A-M|+FwHIYN95&4819s%RhwEQg_?YT!*-jeJH-A6ROGP5n=o3)8K@^^B30u6ia z3DIdB6RT;SOCbfx#}y@<2Ig>^wvMFxQ#SnA>NCzN=94sVUJS+vBN%>0ayr+V?vPVS z%_dp$ERbw4mh4W_Pv=x`?UEJ^7;uf$GM)`?T-{vD=PD(0FTddzh4}lrwyrq(S(?q*xvTnm+&3E5DJY!6_UAcRsG{#L-21^sw}yO}NLY&r))7O6R0#-vhoGX|pJoLZ4KW zb!+RlbwBVF+AFBJ)3i?x*)!(qIRE1 z1%M5=8@~!DtHk_BoFey6AMqqp++Dm4bn1g3?HJ8-xArnDU>nI>KQZ|sr_R*LMz&g}>?p^q#!KUL0fanx6?e$W0a)S}dFv?e}noYBaoUCF@* zAdk$9QAK&U=%)#K{)efT$=$Cn@;%KHl7Nt>Cmxx}s(P-IW2sw5VSNai9l?fv^1o&W zu@q5Wf56j@pVB(#s%Mg1StYKocVt`42{}Uha9bVzwJ(TaPxwdfTo3h-Nw^+!^5gpc zlu=)3q}?=pykMKG*Mn_*xH)AEv!ze0JxW&cl0EGAze?y zjVDTNOIN(rbnAUtZ1lUCqJrypmStVLS+v!1XA6ZdH [ + getEntity("media_player", "bedroom", "playing", { + media_content_type: "movie", + media_title: "Epic sax guy 10 hours", + app_name: "YouTube", + friendly_name: "Skip, no pause", + supported_features: 32, + }), + getEntity("media_player", "family_room", "paused", { + friendly_name: "Paused, music", + media_content_type: "music", + media_title: "I Wanna Be A Hippy (Flamman & Abraxas Radio Mix)", + media_artist: "Technohead", + supported_features: 16417, + entity_picture: "/images/album_cover.jpg", + }), + getEntity("media_player", "family_room_no_play", "paused", { + friendly_name: "Paused, no play", + media_content_type: "movie", + media_title: "Epic sax guy 10 hours", + app_name: "YouTube", + supported_features: 33, + }), + getEntity("media_player", "living_room", "playing", { + friendly_name: "Pause, No skip, tvshow", + media_content_type: "tvshow", + media_title: "Chapter 1", + media_series_title: "House of Cards", + app_name: "Netflix", + supported_features: 1, + }), + getEntity("media_player", "lounge_room", "idle", { + friendly_name: "Screen casting", + media_content_type: "music", + media_title: "I Wanna Be A Hippy (Flamman & Abraxas Radio Mix)", + media_artist: "Technohead", + supported_features: 1, + }), + getEntity("media_player", "theater", "off", { + friendly_name: "Chromcast Idle", + media_content_type: "movie", + media_title: "Epic sax guy 10 hours", + app_name: "YouTube", + supported_features: 33, + }), + getEntity("media_player", "android_cast", "playing", { + friendly_name: "Player Off", + media_title: "Android Screen Casting", + app_name: "Screen Mirroring", + supported_features: 21437, + }), + getEntity("media_player", "unavailable", "unavailable", { + friendly_name: "Player Unavailable", + supported_features: 21437, + }), + getEntity("media_player", "unknown", "unknown", { + friendly_name: "Player Unknown", + supported_features: 21437, + }), +]; diff --git a/gallery/src/demos/demo-hui-media-player-card.ts b/gallery/src/demos/demo-hui-media-player-card.ts new file mode 100644 index 0000000000..a0a097ff63 --- /dev/null +++ b/gallery/src/demos/demo-hui-media-player-card.ts @@ -0,0 +1,102 @@ +import { html } from "@polymer/polymer/lib/utils/html-tag"; +import { PolymerElement } from "@polymer/polymer/polymer-element"; + +import { provideHass } from "../../../src/fake_data/provide_hass"; +import "../components/demo-cards"; +import { createMediaPlayerEntities } from "../data/media_players"; + +const CONFIGS = [ + { + heading: "Skip, no pause", + config: ` + - type: media-control + entity: media_player.bedroom + `, + }, + { + heading: "Paused, music", + config: ` + - type: media-control + entity: media_player.family_room + `, + }, + { + heading: "Paused, no play", + config: ` + - type: media-control + entity: media_player.family_room_no_play + `, + }, + { + heading: "Pause, No skip, tvshow", + config: ` + - type: media-control + entity: media_player.living_room + `, + }, + { + heading: "Screen casting", + config: ` + - type: media-control + entity: media_player.android_cast + `, + }, + { + heading: "Chromcast Idle", + config: ` + - type: media-control + entity: media_player.lounge_room + `, + }, + { + heading: "Player Off", + config: ` + - type: media-control + entity: media_player.theater + `, + }, + { + heading: "Player Unavailable", + config: ` + - type: media-control + entity: media_player.unavailable + `, + }, + { + heading: "Player Unknown", + config: ` + - type: media-control + entity: media_player.unknown + `, + }, +]; + +class DemoHuiMediaPlayerCard extends PolymerElement { + static get template() { + return html` + + `; + } + + static get properties() { + return { + _configs: { + type: Object, + value: CONFIGS, + }, + hass: Object, + }; + } + + public ready() { + super.ready(); + const hass = provideHass(this.$.demos); + hass.addEntities(createMediaPlayerEntities()); + } +} + +customElements.define("demo-hui-media-player-card", DemoHuiMediaPlayerCard); diff --git a/gallery/src/demos/demo-hui-media-player-rows.ts b/gallery/src/demos/demo-hui-media-player-rows.ts index 9b5776faff..98a2e41823 100644 --- a/gallery/src/demos/demo-hui-media-player-rows.ts +++ b/gallery/src/demos/demo-hui-media-player-rows.ts @@ -1,54 +1,9 @@ import { html } from "@polymer/polymer/lib/utils/html-tag"; import { PolymerElement } from "@polymer/polymer/polymer-element"; -import { getEntity } from "../../../src/fake_data/entity"; import { provideHass } from "../../../src/fake_data/provide_hass"; import "../components/demo-cards"; - -const ENTITIES = [ - getEntity("media_player", "bedroom", "playing", { - media_content_type: "movie", - media_title: "Epic sax guy 10 hours", - app_name: "YouTube", - supported_features: 32, - }), - getEntity("media_player", "family_room", "paused", { - media_content_type: "music", - media_title: "I Wanna Be A Hippy (Flamman & Abraxas Radio Mix)", - media_artist: "Technohead", - supported_features: 16417, - }), - getEntity("media_player", "family_room_no_play", "paused", { - media_content_type: "movie", - media_title: "Epic sax guy 10 hours", - app_name: "YouTube", - supported_features: 33, - }), - getEntity("media_player", "living_room", "playing", { - media_content_type: "tvshow", - media_title: "Chapter 1", - media_series_title: "House of Cards", - app_name: "Netflix", - supported_features: 1, - }), - getEntity("media_player", "lounge_room", "idle", { - media_content_type: "music", - media_title: "I Wanna Be A Hippy (Flamman & Abraxas Radio Mix)", - media_artist: "Technohead", - supported_features: 1, - }), - getEntity("media_player", "theater", "off", { - media_content_type: "movie", - media_title: "Epic sax guy 10 hours", - app_name: "YouTube", - supported_features: 33, - }), - getEntity("media_player", "android_cast", "playing", { - media_title: "Android Screen Casting", - app_name: "Screen Mirroring", - supported_features: 21437, - }), -]; +import { createMediaPlayerEntities } from "../data/media_players"; const CONFIGS = [ { @@ -69,7 +24,11 @@ const CONFIGS = [ - entity: media_player.lounge_room name: Chromcast Idle - entity: media_player.theater - name: 'Player Off' + name: Player Off + - entity: media_player.unavailable + name: Player Unavailable + - entity: media_player.unknown + name: Player Unknown `, }, ]; @@ -98,7 +57,7 @@ class DemoHuiMediaPlayerRows extends PolymerElement { public ready() { super.ready(); const hass = provideHass(this.$.demos); - hass.addEntities(ENTITIES); + hass.addEntities(createMediaPlayerEntities()); } }